package com.bascker.algorithm.practice.arr.easy.maximum_product;

import java.util.Objects;

// 暴力枚举: 三层for循环，去枚举所有可能，找到最大的值
// 时间复杂度：O(n^3), 空间复杂度：O(1)
public class Solution1 {

    public int maximumProduct(int[] nums) {
        // 暴力枚举: 3层循环遍历
        if (Objects.isNull(nums) || nums.length < 3) {
            return 0;
        }

        // 注意条件：元素值可能为负数
        int max = Integer.MIN_VALUE;
        int n = nums.length;
        for (int i = 0; i < n; i++) {
            for (int j = i + 1; j < n; j++) {
                for (int k = j + 1; k < n; k++) {
                    max = Math.max(max, nums[i] * nums[j] * nums[k]);
                }
            }
        }

        return max;
    }

}
